# 关注微信公众号：学长带你飞，专注于解决车间调度问题相关数学模型的求解问题
import numpy as np
from data_solve import data_deal 
from fjsp import FJSP
from GABC import abc


da=data_deal(10,6)                   #工件数，机器数
Tmachine,Tmachinetime,tdx,work,tom,machines=da.cacu()  #mko1数据
parm_data=[Tmachine,Tmachinetime,tdx,work,tom,machines]

P_GLR=[0.3,0.3]    #机器串生成规则 GS /LS /ＲS，依次是0.3,0.3，最后是1-0.3-0.3
P_MSR=[0.3,0.3]    #工序串的生成规则 MＲL /SPT /ＲS，依次是0.3,0.3，最后是1-0.3-0.3

fj=FJSP(10,6,P_GLR,parm_data,P_MSR)     #前面两个数是工件数，机器数


parm_mo=[50,200,20,5]                    #依次是迭代次数，种群规模，搜索次数，阈值     
ho=abc(10,fj,parm_mo,parm_data)    		
w,m,t,result=ho.gabc()
C_finish,_,_,_,_=fj.caculate(w,m,t)

fj.draw(w,m,t)                     #画甘特图
fj.draw_change(result)             #画完工时间变化图

